package innova.servlet;

import innova.controlador.DiscusionController;
import innova.controlador.RespuestaController;
import innova.modelo.Discusion;
import innova.modelo.Respuesta;
import innova.modelo.Usuario;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class RespuestaRegistrarServlet
 */
@WebServlet("/RespuestaRegistrarServlet")
public class RespuestaRegistrarServlet extends HttpServlet {

  private static final long serialVersionUID = 1L;
  
  private RespuestaController respuestaController = new RespuestaController();

  /**
   * @see HttpServlet#HttpServlet()
   */
  public RespuestaRegistrarServlet() {
    super();
    // TODO Auto-generated constructor stub
  }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
   * response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
   * response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //Obteniendo los parámetros
    String idDiscusion = request.getParameter("idDiscusion");
    String descripcionRespuesta = request.getParameter("descripcionRespuesta");
    
    //Obteniendo la discusión actual
    DiscusionController discusionController = new DiscusionController();
    Discusion discusion = new Discusion();
    discusion.setIdDiscusion(Integer.parseInt(idDiscusion));
    List<Discusion> resultadoDiscusion = discusionController.buscar(discusion);
    
    //Creando un usuario
    Usuario usuario = new Usuario();
    usuario.setIdUsuario(1);
    
    //Creando una respuesta
    Respuesta respuesta = new Respuesta();
    respuesta.setIdRespuesta(respuestaController.getCodigoAutomatico());
    respuesta.setDescripcionRespuesta(descripcionRespuesta);
    respuesta.setUsuario(usuario);
    respuesta.setDiscusion(discusion);
    
    //Ejecutando la operación
    respuestaController.registrar(respuesta);
    
    resultadoDiscusion.get(0).setRespuestas(respuestaController.buscar());
    
    request.setAttribute("RESULTADO_DISCUSION", resultadoDiscusion);
    
    //Retornando a la página
    RequestDispatcher rd = request.getRequestDispatcher("HU04.jsp");
    rd.forward(request, response);
  }
}
